p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
↳ QTRS
↳ Overlay + Local Confluence
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
*1(s(x), y) → +1(*(x, y), y)
+1(x, s(y)) → +1(x, y)
*1(s(x), y) → *1(x, y)
FACT(s(x)) → P(s(x))
FACT(s(x)) → *1(s(x), fact(p(s(x))))
FACT(s(x)) → FACT(p(s(x)))
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
*1(s(x), y) → +1(*(x, y), y)
+1(x, s(y)) → +1(x, y)
*1(s(x), y) → *1(x, y)
FACT(s(x)) → P(s(x))
FACT(s(x)) → *1(s(x), fact(p(s(x))))
FACT(s(x)) → FACT(p(s(x)))
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
*1(s(x), y) → +1(*(x, y), y)
+1(x, s(y)) → +1(x, y)
FACT(s(x)) → P(s(x))
*1(s(x), y) → *1(x, y)
FACT(s(x)) → *1(s(x), fact(p(s(x))))
FACT(s(x)) → FACT(p(s(x)))
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
+1(x, s(y)) → +1(x, y)
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+1(x, s(y)) → +1(x, y)
trivial
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
*1(s(x), y) → *1(x, y)
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
*1(s(x), y) → *1(x, y)
trivial
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
FACT(s(x)) → FACT(p(s(x)))
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))